var User = require('../lib/user');

exports.form = function(req, res) {
  res.render('register', { title: 'Register'});
};

exports.submit = function(req, res, next) {
  var data = req.body;
  User.getByName(data.name, function(err, user) { // 检查用户名是否唯一
    if (err) return next(err); // 顺延传递数据库连接错误和其他错误

    // redis will default it
    if (user.id) { // 用户已被占用
      res.error("Username already taken!"); 
      res.redirect('back');
    } else {
      user = new User({ // 用POST数据创建用户
        name: data.name,
        pass: data.pass
      });

      user.save(function(err) { // 保存新用户
        if (err) return next(err);
        req.session.uid = user.id; // 为认证b保存uid
        res.redirect('/'); // 重定向到记录的列表页
      });
    }
  });
};
